package ballena.activities;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import java.util.ArrayList;

import ballena.activities.R;
import ballena.utiles.Global;
import ballena.utiles.Servlet;
import ballena.entidades.Usuario;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckedTextView;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class Registro extends Activity {

	public String[] sexo = new String[2];
	//Variables necesarias para mostrar los errores (fijarse en login.java)
	private TextView tvErrorReg;
	private View layoutRegErrores;
	private static final int visibility = 0;
	private static final int invisible = -1;

	
	private EditText editNombre, editApellidos, editEmail, editPassword, editConfirmaPass;
	private Spinner spSexo;
	private DatePicker fechaNacimiento;
	
	private Button botonRegistro;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.registro);
		asociarVariables();
		


		manejarspinner();

	}

	void manejarspinner() {
		
		inicializarSexos();
		
		Spinner spsexo = (Spinner) findViewById(R.id.spSexo);

		ArrayAdapter<String> adaptadorSexo = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, sexo);

		// enlazo con el layout
		adaptadorSexo
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spsexo.setAdapter(adaptadorSexo);

		// al hacer click (o no) establezco la sexualidad del usuario
		spsexo.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

			public void onItemSelected(AdapterView<?> parent,
					android.view.View v, int position, long id) {
				// datos cuando se selecciona un sexo;
			}

			public void onNothingSelected(AdapterView<?> parent) {
				// datos cuando no se selecciona nada;
			}
		});
	}

	// Lo suyo ser�a pillarlo de values/strings para as� poder
	// internacionalizarlo y tal
	void inicializarSexos() {
		sexo[0] = "Hombre";
		sexo[1] = "Mujer";
	}
	private boolean registro (String email, String nombre, String apellidos,
							String pass,String confirmaPass,String sexo,int dia, int mes, int anyo) {
    	try {
			URLEncoder.encode(nombre,"UTF-8");
			URLEncoder.encode(apellidos, "UTF-8");
			URLEncoder.encode(pass, "UTF-8");	
			URLEncoder.encode(confirmaPass, "UTF-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		String param []={"correo="+email, "accion="+Global.REGISTRO, "nombre="+nombre,
    			"apellidos="+apellidos,"pass="+pass,"confirmaPass="+confirmaPass,"sexo="+sexo,
    			"dia="+dia,"mes="+mes,"anyo="+anyo};
		
    	Servlet s=new Servlet(Global.SERVLET,param);
    	
    	s.conectar();
    	
    	
    	ObjectInputStream in;
    	try {
    		InputStream ain = s.getInputStream();
			in = new ObjectInputStream(ain);
			Object[] datos = (Object[]) in.readObject();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		} finally {
			s.desconectar();
		}
		return true;
    }
	public void asociarVariables(){
		editNombre = (EditText) findViewById(R.id.editNombre);
		editApellidos = (EditText) findViewById(R.id.editApellidos);
    	editEmail = (EditText) findViewById(R.id.editMail);
    	editPassword = (EditText) findViewById(R.id.etPassword);
    	editConfirmaPass = (EditText) findViewById(R.id.etConfirmaPass);
    	spSexo = (Spinner) findViewById(R.id.spSexo);
    	fechaNacimiento = (DatePicker) findViewById(R.id.dpEdad);
    	botonRegistro = (Button) findViewById(R.id.botonRegistro);
    	
    	
    	
    	botonRegistro.setOnClickListener(listenerRegistro);
    }
	
	public void f_registro(){
        Intent intent = new Intent(Registro.this, Login.class);
        startActivity(intent);     	
    }
    
	OnClickListener listenerRegistro = new OnClickListener() {
		public void onClick(View v) {
			registro(editEmail.getText().toString(), editNombre.getText().toString(),
					editApellidos.getText().toString(),editPassword.getText().toString(),
					editConfirmaPass.getText().toString(),spSexo.getSelectedItem().toString(),
					fechaNacimiento.getDayOfMonth(),fechaNacimiento.getMonth(),
					fechaNacimiento.getYear());
			Intent aPrincipal = new Intent(Registro.this,Login.class);
			startActivity(aPrincipal);
		}
	};
}
